﻿// onwer 蒋家伟

#pragma once
#include "IArgs.h"
#include "HardwareBase_home.h"

namespace jsdk
{
    class TaskId;

    enum class HardwareEventType : int32_t
    {
        Undefined = 0,      // 未定义
        NewTask = 1         // 每当有一个新任务触发
    };

    class HARDWAREBASE_EXPORT IHardwareEventArgs : public IArgs
    {
        DEFINE_DRIVER_FROM(IHardwareEventArgs, IArgs)
    public:
        virtual ~IHardwareEventArgs() {}

        /// \ 获取事件类型
        virtual HardwareEventType getEventType() const = 0;

        /// \ 获取任务Id
        virtual const TaskId& getTaskId() const = 0;
    };
}